From 15567341f17ca86fa38ab52ce0a67e411f895b0d Mon Sep 17 00:00:00 2001 From: Tor Lillqvist Date: Sun, 25 Jan 2004 22:19:40 +0000 Subject: [PATCH] If the WM_TRANSIENT_FOR property is being deleted, set the owner of the 2004-01-25 Tor Lillqvist * gdk/win32/gdkproperty-win32.c (gdk_property_delete): If the WM_TRANSIENT_FOR property is being deleted, set the owner of the window to the root window (i.e., effectively unset it). (#132411) * gdk/win32/gdkprivate-win32.h * gdk/win32/gdkglobals-win32.c * gdk/win32/gdkmain-win32.c: Declare, define and initialize _wm_transient_for, a GdkAtom for WM_TRANSIENT_FOR. * acconfig.h: Remove HAVE_WINSOCK_H, not used any longer. --- ChangeLog | 15 ++++++++++++++- ChangeLog.pre-2-10 | 15 ++++++++++++++- ChangeLog.pre-2-4 | 15 ++++++++++++++- ChangeLog.pre-2-6 | 15 ++++++++++++++- ChangeLog.pre-2-8 | 15 ++++++++++++++- acconfig.h | 1 - gdk/win32/gdkglobals-win32.c | 2 ++ gdk/win32/gdkmain-win32.c | 2 ++ gdk/win32/gdkprivate-win32.h | 2 ++ gdk/win32/gdkproperty-win32.c | 17 ++++++++++++----- 10 files changed, 88 insertions(+), 11 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2d77ec972b..58fc5c16c3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2004-01-25 Tor Lillqvist + + * gdk/win32/gdkproperty-win32.c (gdk_property_delete): If the + WM_TRANSIENT_FOR property is being deleted, set the owner of the + window to the root window (i.e., effectively unset it). (#132411) + + * gdk/win32/gdkprivate-win32.h + * gdk/win32/gdkglobals-win32.c + * gdk/win32/gdkmain-win32.c: Declare, define and initialize + _wm_transient_for, a GdkAtom for WM_TRANSIENT_FOR. + + * acconfig.h: Remove HAVE_WINSOCK_H, not used any longer. + Sun Jan 25 15:14:46 2004 Soeren Sandmann * gtk/gtktoolbar.c (gtk_toolbar_size_allocate): Base the decision @@ -4625,7 +4638,7 @@ Mon Aug 4 14:53:46 2003 Owen Taylor * gdk/x11/gdkscreen-x11.c (gdk_screen_get_n_monitors): (gdk_screen_get_monitor_geometry): Improve wording of the docs, avoid - the term "virtual screen". (#119030, Tor Lillquist) + the term "virtual screen". (#119030, Tor Lillqvist) 2003-08-02 Matthias Clasen diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 2d77ec972b..58fc5c16c3 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,16 @@ +2004-01-25 Tor Lillqvist + + * gdk/win32/gdkproperty-win32.c (gdk_property_delete): If the + WM_TRANSIENT_FOR property is being deleted, set the owner of the + window to the root window (i.e., effectively unset it). (#132411) + + * gdk/win32/gdkprivate-win32.h + * gdk/win32/gdkglobals-win32.c + * gdk/win32/gdkmain-win32.c: Declare, define and initialize + _wm_transient_for, a GdkAtom for WM_TRANSIENT_FOR. + + * acconfig.h: Remove HAVE_WINSOCK_H, not used any longer. + Sun Jan 25 15:14:46 2004 Soeren Sandmann * gtk/gtktoolbar.c (gtk_toolbar_size_allocate): Base the decision @@ -4625,7 +4638,7 @@ Mon Aug 4 14:53:46 2003 Owen Taylor * gdk/x11/gdkscreen-x11.c (gdk_screen_get_n_monitors): (gdk_screen_get_monitor_geometry): Improve wording of the docs, avoid - the term "virtual screen". (#119030, Tor Lillquist) + the term "virtual screen". (#119030, Tor Lillqvist) 2003-08-02 Matthias Clasen diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 2d77ec972b..58fc5c16c3 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,16 @@ +2004-01-25 Tor Lillqvist + + * gdk/win32/gdkproperty-win32.c (gdk_property_delete): If the + WM_TRANSIENT_FOR property is being deleted, set the owner of the + window to the root window (i.e., effectively unset it). (#132411) + + * gdk/win32/gdkprivate-win32.h + * gdk/win32/gdkglobals-win32.c + * gdk/win32/gdkmain-win32.c: Declare, define and initialize + _wm_transient_for, a GdkAtom for WM_TRANSIENT_FOR. + + * acconfig.h: Remove HAVE_WINSOCK_H, not used any longer. + Sun Jan 25 15:14:46 2004 Soeren Sandmann * gtk/gtktoolbar.c (gtk_toolbar_size_allocate): Base the decision @@ -4625,7 +4638,7 @@ Mon Aug 4 14:53:46 2003 Owen Taylor * gdk/x11/gdkscreen-x11.c (gdk_screen_get_n_monitors): (gdk_screen_get_monitor_geometry): Improve wording of the docs, avoid - the term "virtual screen". (#119030, Tor Lillquist) + the term "virtual screen". (#119030, Tor Lillqvist) 2003-08-02 Matthias Clasen diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 2d77ec972b..58fc5c16c3 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,16 @@ +2004-01-25 Tor Lillqvist + + * gdk/win32/gdkproperty-win32.c (gdk_property_delete): If the + WM_TRANSIENT_FOR property is being deleted, set the owner of the + window to the root window (i.e., effectively unset it). (#132411) + + * gdk/win32/gdkprivate-win32.h + * gdk/win32/gdkglobals-win32.c + * gdk/win32/gdkmain-win32.c: Declare, define and initialize + _wm_transient_for, a GdkAtom for WM_TRANSIENT_FOR. + + * acconfig.h: Remove HAVE_WINSOCK_H, not used any longer. + Sun Jan 25 15:14:46 2004 Soeren Sandmann * gtk/gtktoolbar.c (gtk_toolbar_size_allocate): Base the decision @@ -4625,7 +4638,7 @@ Mon Aug 4 14:53:46 2003 Owen Taylor * gdk/x11/gdkscreen-x11.c (gdk_screen_get_n_monitors): (gdk_screen_get_monitor_geometry): Improve wording of the docs, avoid - the term "virtual screen". (#119030, Tor Lillquist) + the term "virtual screen". (#119030, Tor Lillqvist) 2003-08-02 Matthias Clasen diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 2d77ec972b..58fc5c16c3 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,16 @@ +2004-01-25 Tor Lillqvist + + * gdk/win32/gdkproperty-win32.c (gdk_property_delete): If the + WM_TRANSIENT_FOR property is being deleted, set the owner of the + window to the root window (i.e., effectively unset it). (#132411) + + * gdk/win32/gdkprivate-win32.h + * gdk/win32/gdkglobals-win32.c + * gdk/win32/gdkmain-win32.c: Declare, define and initialize + _wm_transient_for, a GdkAtom for WM_TRANSIENT_FOR. + + * acconfig.h: Remove HAVE_WINSOCK_H, not used any longer. + Sun Jan 25 15:14:46 2004 Soeren Sandmann * gtk/gtktoolbar.c (gtk_toolbar_size_allocate): Base the decision @@ -4625,7 +4638,7 @@ Mon Aug 4 14:53:46 2003 Owen Taylor * gdk/x11/gdkscreen-x11.c (gdk_screen_get_n_monitors): (gdk_screen_get_monitor_geometry): Improve wording of the docs, avoid - the term "virtual screen". (#119030, Tor Lillquist) + the term "virtual screen". (#119030, Tor Lillqvist) 2003-08-02 Matthias Clasen diff --git a/acconfig.h b/acconfig.h index f9617e62b7..f30310c241 100644 --- a/acconfig.h +++ b/acconfig.h @@ -34,7 +34,6 @@ #undef HAVE_SYS_TIME_H #undef HAVE_XFREE_XINERAMA #undef HAVE_XINERAMA -#undef HAVE_WINSOCK_H #undef HAVE_WINTAB #undef HAVE_XCONVERTCASE #undef HAVE_XFT diff --git a/gdk/win32/gdkglobals-win32.c b/gdk/win32/gdkglobals-win32.c index 651ac883d7..d965370210 100644 --- a/gdk/win32/gdkglobals-win32.c +++ b/gdk/win32/gdkglobals-win32.c @@ -59,6 +59,8 @@ GdkAtom _gdk_ole2_dnd; GdkAtom _gdk_selection_property; +GdkAtom _wm_transient_for; + DWORD _windows_version; gint _gdk_input_ignore_wintab = FALSE; diff --git a/gdk/win32/gdkmain-win32.c b/gdk/win32/gdkmain-win32.c index 2a2640b77d..c8205500e1 100644 --- a/gdk/win32/gdkmain-win32.c +++ b/gdk/win32/gdkmain-win32.c @@ -120,6 +120,8 @@ _gdk_windowing_init (gint *argc, _gdk_selection_property = gdk_atom_intern ("GDK_SELECTION", FALSE); + _wm_transient_for = gdk_atom_intern ("WM_TRANSIENT_FOR", FALSE); + _gdk_win32_selection_init (); } diff --git a/gdk/win32/gdkprivate-win32.h b/gdk/win32/gdkprivate-win32.h index 807f6355f5..84cf832a04 100644 --- a/gdk/win32/gdkprivate-win32.h +++ b/gdk/win32/gdkprivate-win32.h @@ -499,6 +499,8 @@ extern GdkAtom _gdk_ole2_dnd; extern GdkAtom _gdk_selection_property; +extern GdkAtom _wm_transient_for; + extern DWORD _windows_version; #define IS_WIN_NT() (_windows_version < 0x80000000) diff --git a/gdk/win32/gdkproperty-win32.c b/gdk/win32/gdkproperty-win32.c index d4ef994653..d1bee10f83 100644 --- a/gdk/win32/gdkproperty-win32.c +++ b/gdk/win32/gdkproperty-win32.c @@ -265,8 +265,8 @@ gdk_property_change (GdkWindow *window, GDK_NOTE (DND, (prop_name = gdk_atom_name (property), type_name = gdk_atom_name (type), - g_print ("gdk_property_change: %#x %#x (%s) %#x (%s) %s %d*%d bytes %.10s\n", - (guint) GDK_WINDOW_HWND (window), + g_print ("gdk_property_change: %p %#x (%s) %#x (%s) %s %d*%d bytes %.10s\n", + GDK_WINDOW_HWND (window), (guint) property, prop_name, (guint) type, type_name, (mode == GDK_PROP_MODE_REPLACE ? "REPLACE" : @@ -470,15 +470,22 @@ gdk_property_delete (GdkWindow *window, GDK_NOTE (DND, (prop_name = gdk_atom_name (property), - g_print ("gdk_property_delete: %#x %#x (%s)\n", - (window ? (guint) GDK_WINDOW_HWND (window) : 0), + g_print ("gdk_property_delete: %p %#x (%s)\n", + GDK_WINDOW_HWND (window), (guint) property, prop_name), g_free (prop_name))); if (property == _gdk_selection_property) _gdk_selection_property_delete (window); + else if (property == _wm_transient_for) + gdk_window_set_transient_for (window, _gdk_parent_root); else - g_warning ("gdk_property_delete: General case not implemented"); + { + prop_name = gdk_atom_name (property); + g_warning ("gdk_property_delete: General case (%s) not implemented", + prop_name); + g_free (prop_name); + } } gboolean -- 2.30.2